﻿namespace ExcelProcessingLibrary.DataStructure
{
    public class ColumnConfiguration
    {
        public string UniqueKey { get; set; } //To identify each configured column uniquely.
        public bool Hidden { get; set; }
        public bool HeaderHidden { get; set; }
        public string HeaderText { get; set; }
        public string DataField { get; set; }        
        public string SheetColumn { get; set; }
        
        public string ExcelDataType { get; set; }
        public string WeightColumn { get; set; }

        public bool IsWeightedSubTotal { get; set; } //It is for internal processing. Setting it to true, if ShowSubTotal is true of column where this column is configured as weighted column.
        public bool IsWeightedGrandTotal { get; set; } //It is for internal processing. Setting it to true, if ShowGrandTotal is true of column where this column is configured as weighted column.

        public int Padding { get; set; }

        public bool IsGroupingEnabled { get; set; }
        public int GroupRank { get; set; }
        public bool HideGroupValue { get; set; } 
        public bool IsSubTotalEnabled { get; set; }

        public bool ShowSubTotal { get; set; }
        public bool IsSubTotalAtGroupRow { get; set; }
        public bool ShowGrandTotal { get; set; }
        public bool IsGrandTotalAtStartRow { get; set; }
        public string TotalType { get; set; }

        
        public int ColumnWidth { get; set; }
    }
}
